package com.nuoniu.sibanyun.entity.erp;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 工序管理
 * </p>
 *
 * @author 小啊刚
 * @since 2021-01-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("mab_process")
@ApiModel(value="ErpWorkProcedure对象", description="工序管理")
public class ErpWorkProcedure extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "公司id")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "账套id")
    @TableField("account_id")
    private Integer accountId;

    @ApiModelProperty(value = "工序名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "工序编码")
    @TableField("code")
    private String code;

    @ApiModelProperty(value = "默认车间id")
    @TableField("office_id")
    private Integer officeId;

    @ApiModelProperty(value = "默认车间名称")
    @TableField("office_name")
    private String officeName;

    @ApiModelProperty(value = "默认班组id")
    @TableField("team_id")
    private Integer teamId;

    @ApiModelProperty(value = "默认班组名字")
    @TableField("team_name")
    private String teamName;

    @ApiModelProperty(value = "默认工位id")
    @TableField("station_id")
    private Integer stationId;

    @ApiModelProperty(value = "默认工位名字")
    @TableField("station_name")
    private String stationName;

    @ApiModelProperty(value = "加工方式1:自制2:委外")
    @TableField("process_method")
    private Integer processMethod;

    @ApiModelProperty(value = "工资类型1:计件2:计时3:不核算")
    @TableField("wages_type")
    private Integer wagesType;

    @ApiModelProperty(value = "标准工时")
    @TableField("std_time")
    private BigDecimal stdTime;

    @ApiModelProperty(value = "工时价格(小时)")
    @TableField(value = "work_hour_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal workHourPrice;

    @ApiModelProperty(value = "合格品价格")
    @TableField(value = "qualified_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal qualifiedPrice;

    @ApiModelProperty(value = "返修品价格")
    @TableField(value = "rework_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal reworkPrice;

    @ApiModelProperty(value = "不合格品价格")
    @TableField(value = "unqualified_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal unqualifiedPrice;

    @ApiModelProperty(value = "报废品价格")
    @TableField(value = "scrap_price", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal scrapPrice;

    @ApiModelProperty(value = "计价依据")
    @TableField("price_basis")
    private String priceBasis;

    @ApiModelProperty(value = "是否关键工序")
    @TableField("is_key_process")
    private Integer isKeyProcess;

    @ApiModelProperty(value = "状态1:正常0:停用")
    @TableField("status")
    private Boolean status;

    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "修改时间")
    @TableField("update_date")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "搜索关键字")
    @TableField(exist = false)
    private String searchKey;

}
